package StructuralPattern.FlyWeight;

/**
 * @Classname : FlyWeight
 * @Description : 抽象享元角色-棋子
 * @Author : chentianyu
 * @Date 2023/2/23 20:48
 */


public abstract class FlyWeight {

    // 内部状态，可共享的、不随场景变化的
    private final String color;

    // 创建对象时传入内部状态
    public FlyWeight(String color) {
        this.color = color;
    }

    // 获取内部状态
    public String getColor() {
        return this.color;
    }

    // 执行操作时传入外部状态，此处坐标 (x, y) 是外部状态
    public abstract void operate(int x, int y);

}
